from django.test import TestCase

import unittest
from django.test.client import Client

class Login(TestCase):
	def testLogin(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            self.assertContains(response,'inicio',status_code=200)

        def testFacturas(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/facturar/',{'folio':'3','fecha':'09-04-2011','nombre':'Rodrigo','direccion':'Canahutli 475','telefono':'56197846','rfc':'FAPR891007EB4','condiciones':'Efectivo','nprod':'1','subtotal':'150.00','iva':'25.00','total':'175.00','importeamano':'Ciento setenta y cinco pesos','cp':'04369','paterno':'Franco','materno':'Perez','importe0':'150.00','descripcion0':'Caja roja','cantidad0':'1','precioU0':'150.00'})
            self.assertContains(response,'facturas',status_code=200)
            
        def testConsultaFacturas(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/consultafacturas/',{'folio':'3'})
            self.assertContains(response,'consultafacturas',status_code=200)

        def testOrdenes(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/ordenar/',{'orden':'7','fecha':'09-04-2011','nombre':'Rodrigo','direccion':'Canahutli 475','telefono':'56197846','descripcion_equipo':'Un equipo','descripcion_falla':'Falla','cambio_piezas':'No','autorizacion':'rodfp','cotizacion':'250.00','paterno':'Franco','materno':'Perez'})
            self.assertContains(response,'ordenes',status_code=200)

        def testConsultaOrdenes(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/verorden/',{'orden':'7'})
            self.assertContains(response,'consultaordenes',status_code=200)

        def testBorrarOrden(self):
            c = Client()
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/borrarorden/',{'orden':'7'})
            self.assertContains(response,'consultaordenes',status_code=200)

        def testModificarOrden(self):
            c = Client()
            response = c.post
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/modificarorden/',{'orden':'7','fecha':'09-04-2011','nombre':'Yo','direccion':'Canahutli 475','telefono':'56197846','descripcion_equipo':'Un equipo','descripcion_falla':'Falla','cambio_piezas':'No','autorizacion':'rodfp','cotizacion':'250.00','paterno':'Franco','materno':'Perez'})
            self.assertContains(response,'consultaordenes',status_code=200)

        def testRegistra_usuario(self):
            c = Client()
            response = c.post
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola122'})
            response = c.post('http://localhost:8000/registraUsuario/',{'id':'daro','password1':'hola','password2':'hola','nombre':'David Omar','privilegios':'admin','status':'activo'})
            self.assertContains(response,'usuarios',status_code=200)
        def testModifica_usuario(self):
            c = Client()
            response = c.post
            response = c.post('http://localhost:8000/valida/',{'usuario':'rodfp','contrasena':'hola'})
            response = c.post('http://localhost:8000/modificaUsuario/',{'idEdit':'rodfp','password1Edit':'hola','password2Edit':'hola','nombreEdit':'RODRIGO','privilegiosEdit':'admin','statusEdit':'activo'})
            self.assertContains(response,'usuarios',status_code=200)
